pooperrottifandomcom_pt_br-20200214-history
Hello world e alguns conceitos básicos
= << Anterior - Home - Próxima >> = ---- Iniciando no NetBeans Para começar a usar os recursos do NetBeans vamos iniciar criando o clássico Hello World. Siga os passos abaixo para criar o programa. Mais adiante, os termos usados no programa serão explicados. # Depois de ativar o NetBeans selecione a opção do menu: Arquivo/Novo projeto ou use o atalho Ctrl-Shift-N # Uma nova janela será aberta. Nesta janela localize a caixa Categorias e selecione a opção Java (default). Na caixa Projetos selecione a opção Aplicativo Java (também default) e clique no botão Next >. # No campo Nome do projeto escreva Hello. Por default o Netbeans salva os projetos na pasta Documentos/Netbeans projects. Se quiser que o projeto seja salvo em outro local, clique no botão Procurar e selecione a pasta onde o projeto será salvo. # No campo Criar classe principal, deixe o checkbox ligado (default). Deixe os outros campos com os valores default e clique no botão Finish. # Neste ponto, o NetBeans já criou a estrutura da aplicação, com a classe principal do programa (Main), incluindo o método main da classe. Dentro do método main (entre as chaves) escreva o seguinte comando: System.out.println(“Oi mundo!!!!!”); Agora a aplicação está pronta para ser executada. Para isso você pode usar a tecla F6, ou clicar na setinha verde que está na barra de atalhos, ou ainda usar a opção do menu Executar / Executar projeto principal. A saída do programa é mostrada na caixa de saída (Output) que fica na parte inferior da tela. Se houver algum erro no programa também é ali que as mensagens de erro são mostradas. Se tudo deu certo, a string “Oi mundo!!!!!” aparecerá na caixa de saída. Elementos do programa criado O programa inicia com algumas linhas de comentário que informam como alterar o template (modelo) usado para criar o programa com o assistente. Assim como na linguagem C, os caracteres /* iniciam comentário e os caracteres */ encerram os comentários. Também é possível usar os caracteres // para criar uma linha de comentários. Neste caso, tudo o que for escrito após os caracteres até o final da linha é considerado comentário. Em seguida, vemos uma linha com: package hello; package (pacote) é uma palavra reservada na linguagem que indica que o arquivo em questão faz parte do pacote hello. Um "package" é basicamente um agrupamento de classes que estão relacionadas por algum critério. No nosso exemplo, criamos uma aplicação extremamente simples, que só usou uma classe e um arquivo, mas aplicações mais complexas podem exigir várias classes que serão definidas em vários arquivos. Também é comum usar os pacotes como bibliotecas de classes, não necessariamente associadas a uma aplicação específica. Uma vez criado um pacote, ele pode ser incluído em qualquer aplicação ou implementação de uma classe usando a palavra reservada import, mais adiante voltaremos a esse assunto. A linha seguinte (que não é comentário) aparece como segue: public class Main { Main é o nome da classe que estamos definindo neste arquivo. Note que esse também é o nome do arquivo que tem a extensão .java. Por convenção (não é obrigado), os nomes de classes começam sempre com a primeira letra maiúscula e as outras letras minúsculas. Se o nome for formado por duas ou mais palavras como no nosso exemplo, a primeira letra de cada palavra é escrita com maiúsculas. class também é uma palavra reservada que serve para indicar que o que vem depois é a definição de uma classe. Todo arquivo de aplicação, como o do exemplo, deve ter uma e apenas uma classe pública. É possível ter várias classes no mesmo arquivo, mas apenas uma pode ser pública. A palavra reservada public no início da linha indica que a classe Main é pública. Finalmente a linha termina abrindo chaves o que significa que tudo o que vier a seguir e até o fechamento correspondente das chaves é o corpo da classe, onde serão declarados seus atributos e implementados seus métodos. No caso específico desta classe, não há nenhum atributo e o único método é o método main. Mais abaixo encontramos a implementação do método main como segue: public static void main(String[ ] args) { System.out.println("Oi mundo!!!!!"); } Se estivermos criando uma aplicação, é obrigatório que a classe principal do programa, tenha um método chamado main. Esta classe, na verdade é a própria aplicação. Essa classe nunca deve ser instanciada explicitamente pelo programa, na verdade ela nem precisa ser instanciada porque o único método que ela contém, o método main, é um método de classe e não de instância (veja abaixo). O método main será chamado automaticamente e ele é o ponto de partida do programa. É análogo à função main de um programa em C. Note que nem toda classe é uma aplicação e nem sempre as classes são desenvolvidas para uma aplicação específica. Este método só existe na classe principal da aplicação, em outros casos ele não existe. IMPORTANTE: No início pode ficar meio confuso que a classe principal da aplicação e o método main tenham, por default, o mesmo nome, mas são coisas completamente diferentes. A classe Main (escrito com a inicial em maiúscula) representa a aplicação. Esse nome é só uma sugestão, você pode escolher outro nome quando cria a aplicação no assistente. Já o método main é o ponto de partida do programa, por onde a execução é iniciada. A classe principal da aplicação, não importa que nome ela tenha, tem que ter um método chamado main, o nome desse método não pode ser mudado, precisa ser main (com a inicial em minúscula). A palavra reservada void imediatamente antes do nome do método indica que este método não vai retornar nenhum valor depois que for executado. A palavra reservada static indica que este é um método de classe e não de instância. Métodos de classe são chamados a partir da classe, sem ser necessário criar um objeto daquela classe. Mais adiante voltaremos a esse assunto. Finalmente, o modificador public indica que é um método público, ou seja, ele é visível e pode ser chamado por qualquer objeto do sistema. Dentro dos parêntesis vemos o parâmetro String [ ] args. Este parâmetro é um vetor de strings e armazena os argumentos passados na linha de comando quando o programa é chamado via linha de comando. Depois dos parâmetros, novamente encontramos a abertura de chaves iniciando o corpo do método main e que é encerrado no fechamento de chaves correspondente. Para finalizar, temos o comando que realmente imprime a string dentro do método main. System é uma classe do Java que representa os recursos do sistema no programa. Está disponível em qualquer programa feito em Java. Ela oferece atributos e métodos bastante úteis e que serão usados frequentemente. Um de seus atributos é o objeto out que representa a stream de saída padrão do sistema (equivalente ao STDOUT do C). println é um método de out que permite imprimir uma string na saída padrão (console). Note que mesmo o programa mais básico possível, o clássico Hello World, envolve uma grande quantidade de conceitos para ser implementado. Mas não é preciso entrar em pânico, estes conceitos serão retomados durante o curso e com o tempo se tornarão familiares conforme sejam usados com mais freqüência. Melhorando o programa Vamos agora acrescentar alguns elementos a este programa e aproveitar para conhecer mais alguns conceitos. Veja que o método main não declara nenhuma variável e tem apenas um comando para imprimir o texto. Acrescentemos então uma variável local ao método para armazenar o texto que será impresso. Sendo um texto, a variável precisa ser da classe String. Note que em Java, String não é um tipo primitivo de dados como o int ou double, mas uma classe que contém seus próprios métodos. Ao atribuir um valor para uma variável String, estamos na verdade criando uma instância para a classe, ou seja, criando um objeto. Modifique o método main da seguinte forma: public static void main(String[ ] args) { String st; st = "Oi mundo!!!!!"; System.out.println(st); } Ao executar o programa o resultado será exatamente o mesmo de antes, mas agora o texto é armazenado em uma variável de referência da classe String antes de ser impresso. Altere a linha que imprime o texto como sugerido abaixo: System.out.println( st.toUpperCase() ); Veja que executando o programa agora, o texto aparecerá com todas as letras em maiúsculas porque esse é resultado do método toUpperCase() da classe String. Coloque o cursor logo após o ponto depois de st e pressione Ctrl-Espaço. O NetBeans mostrará uma lista de todos os métodos disponíveis para um objeto da classe String. Links recomendados: * Introduction to GUI Building (Netbeans.org)